home *** CD-ROM | disk | FTP | other *** search
- Universal Overlay v1.1
- ----------------------
-
- Armin Diedering
- letzte Änderung: 9.2.1999
- Tabulatorweite: 3
-
-
- 1. Was ist UniLay ?
- ===================
-
- UniLay ist ein Overlay für ResourceMaster ab Version 3.0. Mit Overlays ist
- es möglich, schon im Editor userdefinierte Objekte darzustellen.
- UniLay verwendet dabei die ResourceMaster-eigenen Userdef-Objekte, die der
- ResourceMaster verwendet, wenn keine MagiC-Sonder-Typen verfügbar sind. Das
- hat den Vortei, daß das Overlay mit seinen 2-3 kByte sehr klein ausfällt.
- Nachteilig ist es, daß die Objekte im Editor nicht ganz so dargestellt
- werden, wie sie später im Programm aussehen werden. Immerhin ist aber schon
- ein grober Eindruck möglich.
-
-
- 2. Installation
- ===============
-
- Einfach die Dateien "rsm.ovl" und "unilay.cnf" in den RSM-"modules"-Ordner
- kopieren.
-
-
- 3. Welch Objekte werden unterstützt ?
- =====================================
-
- UniLay bzw. der ResourceMaster unterstützt derzeit 7 Sonder-Objekte
-
- - RSM_MOVEBUTTON Das bekannte Eselsohr um mit Dialoge zu fliegen.
- - RSM_BUTTON Ein Button mit einem unterstrichenen Buchstaben.
- - RSM_CHECKBUTTON Ein Ankreuzbutten mit/ohne unterstrichenen Buchstabe.
- - RSM_RADIOBUTTON Ein Radiobutten mit/ohne unterstrichenen Buchstabe.
- - RSM_UNDERLINED Ein unterstrichener String.
- - RSM_GROUPBOX Ein Gruppenrahmen.
- - RSM_NICELINE Eine Niceline für Menüs.
-
- Abgesehen von RSM_MOVEBUTTON kommen die Sonder-Objekte nur zum Einsatz, wenn
- es sich um G_STRING-, G_BUTTON- oder G_TITLE-Objekte handelt.
-
- Bei RSM_BUTTON, RSM_CHECKBUTTON und RSM_RADIOBUTTON wird der unterstrichenen
- Buchstabe durch eine eckige Klammer im Buttontext gekennzeichnet. Oder aber
- auch MagiC-like durch das Setzen von Whitebak. Die Position wird dann durch
- die Bits 8-11 von ob_states bestimmt.
- Die MagiC-Methode hat Vorrang.
-
-
- 4. Wie Konfiguriere ich UniLay ?
- ================================
-
- UniLay läd bei der Initialisierung die Datei "unilay.cnf". In dieser
- CNF-Datei wird festgelegt, für welche Objekte das Overlay aktiv werden soll.
-
- Die Datei muß mit folgender Zeile eingeleitet werden!
-
- ------------Schnipp-----------
- #[xxxx]
- ------------Schnapp-----------
-
- Damit wird die ID des Overlays festgelegt ("xxxx" steht dabei für 4
- beliebige Zeichen). Wer verschiedene CNF-Dateien verwenden will (oder muß),
- sollte für jede CNF eine ID vergeben. Da die ID des Overlays auch in der
- *.rsm-Datei gespeichert wird, aktiviert RSM das Overlay nur dann, wenn die
- IDs übereinstimmen.
- Um Konflikte mit öffentlichen Overlays zu vermeiden, sollten private IDs mit
- einem '_' beginnen z.B. so "#[_AO1]" (Armins Overlay Nr.1).
-
- Dann kommen die Objekt-Zeilen.
- Jede gültige Objekt-Zeile hat folgenden Aufbau:
-
- ------------Schnipp-----------
- #00 0000 0000 0000 0000 0000 0000 Kommentar
- ------------Schnapp-----------
-
- Also sie wird immer mit einem Doppelkreuz (am Anfang der Zeile) eingeleitet.
- Dem Doppelkreuz folgen 7 hexadezimal codierte und durch Leerzeichen
- getrennte Zahlen. Dabei ist die Erste immer zweistellig und der Rest
- vierstellig. Ein optionaler Kommentar muß durch Leerzeichen oder TABs von
- der letzten Zahl getrennt sein.
-
- Die Erste Zahl bestimmt die Sonder-Objekt-Nummer. Dabei gilt:
- 0 -> NICHTS_ZEICHNEN
- 2 -> RSM_MOVEBUTTON
- 3 -> RSM_BUTTON
- 4 -> RSM_CHECKBUTTON
- 5 -> RSM_RADIOBUTTON
- 6 -> RSM_UNDERLINED
- 7 -> RSM_GROUPBOX
- 8 -> RSM_NICELINE
-
- Die folgenden 6 Zahlen sind in 3 Paare aufgeteilt. Jedes Zahlenpaar enthält
- eine Maske und einen Vergleichswert. Diese Zahlenpaare gelten jeweils für
- die OBJECT-Komponenten Typ, Flags und States.
-
- Beispiel:
- ---------
- 1. Das Overlay soll die Darstellung eins RSM_CHECKBUTTON übernehmen wenn:
- - der Erweiterte Typ = 22 (hex 16)
- - der Objekttyp = G_STRING (28 bzw. hex 1c)
-
- #03 ffff 161c 0000 0000 0000 0000
- --- ---- ---- -------------------
- | | | |
- | | | Flags und States spielen keine Rolle
- | | Erw.Typ=22 und Typ=G_STRING?
- | alle bits von ob_type beachten
- RSM_CHECKBUTTON
-
- 2. Da nur ein Checkbutton gezeichnet werden soll, wenn das EXIT-Flag nicht
- gesetzt ist, brauchen wir noch eine Zweite Zeile.
-
- #00 ffff 161c 0004 0004 0000 0000
- --- ---- ----
- | | |
- | | ist EXIT gesetzt?
- | nur das EXIT-Flag auswerten
- NICHTS_ZEICHNEN
-
- Diese Zeile muß unbedingt vor der RSM_CHECKBUTTON-Zeile stehen.
-
- 3. Ein RSM_RADIOBUTTON soll bei den gleichen Bedingungen wie oben gezeichnet
- werden, wenn das RADIO-Flag gesetzt ist.
-
- #04 ffff 161c 0010 0010 0000 0000
- --- ---- ----
- | | |
- | | ist RADIO gesetzt?
- | nur das RADIO-Flag auswerten
- RSM_RADIOBUTTON
-
- Auch Diese Zeile muß vor der RSM_CHECKBUTTON-Zeile aber nach der
- NICHTS_ZEICHNEN-Zeile stehen.
-
- 4. Um es zusammen zu fassen:
- - der Erweiterte Typ = 22 (hex 16)
- - der Objekttyp = G_STRING (28 bzw. hex 1c)
- - wenn EXIT-Flag soll nix gezeichnet werden
- - wenn RADIO-Flag dann RSM_RADIOBUTTON sonst RSM_CHECKBUTTON
-
- ------------Schnipp-----------
- #00 ffff 161c 0004 0004 0000 0000 Wenn Exit nix Zeichnen
- #04 ffff 161c 0010 0010 0000 0000 Wenn RADIO -> RSM_RADIOBUTTON
- #03 ffff 161c 0000 0000 0000 0000 Wenn kein EXIT und auch kein RADIO
- dann RSM_CHECKBUTTON
- ------------Schnapp-----------
-